name: Diagnostic issue
description: Create a bug report or feature request for a change to `rustc`'s error output
labels: ["A-diagnostics", "T-compiler"]
body:
  - type: markdown
    attributes:
      value: |
        Thank you for filing a diagnostics bug report! 🐛

        Please provide a short summary of the bug, along with any information you feel relevant to replicating the bug.

        If you cannot produce a minimal reproduction case (something that would work in isolation), please provide the steps or even link to a repository that causes the problematic output to occur.
  - type: textarea
    id: code
    attributes:
      label: Code
      description: Please provide code that can reproduce the problem
      placeholder: code
      render: Rust
    validations:
      required: true
  - type: textarea
    id: output
    attributes:
      label: Current output
      description: Please provide the `rustc` output you see
      placeholder: rustc output
      render: Shell
    validations:
      required: true
  - type: textarea
    id: desired-output
    attributes:
      label: Desired output
      description: Please provide what the output *should* be
      placeholder: proposed output
      render: Shell
    validations:
      required: false
  - type: textarea
    id: rationale
    attributes:
      label: Rationale and extra context
      description: If the problem is not self-explanatory, please provide a rationale for the change.
    validations:
      required: false
  - type: textarea
    id: other-output
    attributes:
      label: Other cases
      description: If dramatically different output is caused by small changes, consider also adding them here.
      render: Rust
    validations:
      required: false
  - type: textarea
    id: version
    attributes:
      label: Rust Version
      description: Please provide the `rustc` version, `rustc --version --verbose`. Make sure that you're using the latest version of the compiler, and not an outdated stable or nightly release!
      placeholder: |
        $ rustc --version --verbose
        rustc 1.XX.Y (SHORTHASH DATE)
        binary: rustc
        commit-hash: LONGHASHVALUE
        commit-date: DATE
        host: PLATFORMTRIPLE
        release: 1.XX.Y
        LLVM version: XX.YY.ZZ
      render: Shell
    validations:
      required: true
  - type: textarea
    id: extra
    attributes:
      label: Anything else?
      description: If you have more details you want to give us to reproduce this issue, please add it here
    validations:
      required: false